在 Windows 上安裝與升級 PowerShell 7
TLDR
- Windows PowerShell (5.1) 與 PowerShell 7 是完全不同的產品,兩者可並存於同一系統。
- PowerShell 7 採用 UTF-8 (不含 BOM) 編碼,能有效解決舊版處理中文字元與 Git 互動時的亂碼問題。
- 建議在需要跨平台腳本、使用 AI 生成腳本,或工具明確要求 PowerShell 6+ 以上版本時安裝。
- 安裝 PowerShell 7 後,需額外執行
Update-Help指令才能取得完整的離線說明文件。 - 使用 WinGet 可快速進行安裝與版本升級。
Windows PowerShell 與 PowerShell 7 的差異
什麼情況下會遇到這個問題:當你發現系統內建的 PowerShell 無法執行現代化工具(如 Copilot CLI)或處理中文字元出現亂碼時。
- 底層架構:Windows PowerShell 基於封閉的 .NET Framework,僅限 Windows;PowerShell 7 基於開源的 .NET,支援跨平台運行。
- 生命週期:Windows PowerShell 已停止新功能開發,僅進行維護性更新。
- 預設編碼:PowerShell 7 統一採用 UTF-8(不含 BOM),解決了舊版處理純文字檔與中文字元時的亂碼問題。
- 執行檔隔離:兩者可並存,Windows PowerShell 執行檔為
powershell.exe,PowerShell 7 為pwsh.exe。
安裝指南
什麼情況下會遇到這個問題:當你需要安裝或升級 PowerShell 7 以滿足開發環境需求時。
WinGet 安裝後會自動設定環境變數,無需手動配置。
- 搜尋可用版本:powershell
winget search --id Microsoft.PowerShell - 安裝最新穩定版:powershell
winget install --id Microsoft.PowerShell --source winget - 一鍵升級至最新版:powershell
winget upgrade --id Microsoft.PowerShell - 解除安裝:powershell
winget uninstall --id Microsoft.PowerShell
Get-Help 說明文件機制
什麼情況下會遇到這個問題:當你執行 Get-Help 卻發現無法查看範例或詳細參數說明時,這是因為 PowerShell 預設不打包離線說明文件。
若需要完整範例說明,可採取以下方式:
- 連線查詢:使用
-Online參數(例如Get-Help Get-Process -Online),直接開啟瀏覽器查看官方網頁版說明。 - 下載離線檔:以系統管理員身分執行以下指令:powershell
Update-Help -UICulture zh-tw, en-US -Force -ErrorAction SilentlyContinue
參數說明
-UICulture zh-tw, en-US:指定下載語言,加入en-US作為備援。-Force:強制重新下載說明檔。-ErrorAction SilentlyContinue:忽略部分模組未提供線上說明檔所產生的錯誤訊息。
什麼情況下需要額外安裝新版?
什麼情況下會遇到這個問題:當你猶豫是否要移除舊版或安裝新版時。
- AI 腳本基準:AI 產生的腳本多以 PowerShell 6+ 為基準,舊版執行常會失敗。
- 編碼問題:解決 Windows PowerShell 5.1 將 UTF-8 無 BOM 檔案誤判為 ANSI 的問題。
- 工具相容性:如 Copilot CLI 等現代開發工具明確要求 PowerShell 6+。
- 跨平台需求:若需編寫可在 Windows、Linux、macOS 通用的腳本。
TIP
兩者可以並存,不需移除 Windows PowerShell。
異動歷程
- 2026-03-25 初版文件建立。
